home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.27
/
wbarg
/
anleitung
next >
Wrap
Text File
|
1995-04-23
|
3KB
|
98 lines
Anleitung zur Unit WBARGS
Vorwort: Ich habe diese Unit geschrieben, um die Parameterübergabe auf
der Workbench zu vereinfachen. Mit Parameterübergabe mein ich:
Projekticon anklicken, Shift-Taste Drücken, das Programmicon
anklicken und eins von beiden Icons nochmal anklicken. Das
Programm bekommt dann den Namen und das Verzeichnis des
Projekts. Natürlich können einem Programm auch mehrere
Projekte übergeben werden. Wenn man z.B. ein Anzeigeprogramm
für IFF-Bilder programmiert hat, kann man so eine Slideshow
realisieren.
Zuerst muß die Unit natürlich eingebunden werden mit:
FROM MyTools USES WBArgs;
Dann stehen einem folgende Prozedure bzw. Funktionen zur Verfügung:
FUNCTION WBArgNum:INTEGER;
FUNCTION GetWBArg(ArgumentNummer:INTEGER):STR;
FUNCTION OpenIconLib:BOOLEAN;
PROCEDURE CloseIconLib;
So, und jetzt zu den Funktionen im Einzelnen:
Die Anzahl der mit Shift aktivierte Projekticons erfährt man mit
anz: INTEGER; { enthält dann die Anzahl der aktivierten Icons }
anz:= WBARGNUM
Es nützt einem natürlich nichts, wenn man nur die Anzahl der Projekt
Icons weiß, sondern man möchte auch den Namen der Projekte wissen und
in das Verzeichnis des jeweiligen Projektes Springen, damit man es
auch aufrufen kann. Das geht mit der Function GETWBARG. Ihr wird die
Nummer des gewünschten Dateinamens bzw. Projektnamens übergeben und
als Ergebnis erhält man denn den Namen (Typ STR !!!!). Intern ist
jetzt schon ins passende Verzeichnis gesprungen worden.
Um das Öffnen der Library braucht Ihr Euch nicht zu kümmern. Das
geschieht intern. Allerdings könnt Ihr die Library am Ende des
Programmes mit CloseIconLib; Schließen.
So, das war jetzt vielleicht etwas unverständlich, deswegen jetzt
mal ein Beispiel. Man möchte alle Argumente ausgeben, die ein
Program erhalten hat.
VAR i:INTEGER;
BEGIN
FOR i:= 1 TO WBArgNum DO
BEGIN
writeln(GetWBArg(i));
END;
END.
Allerdings sollte man hierbei zuerst z.B. ein Consolefenster öffnen,
damit die Ausgabe auch lesbar ist.
Anmerkung: Wie Ihr nach dem Compilieren des Testprogramm gemerkt habt
ist das erste Argument das Programm selbst! Erst das zweite
ist das erste Projekt. Wenn man nur ein Projekt will, dann
geht das auch einfach, mit projektname:=Getwbarg(2);
( Projektname muß vom Typ STR sein.) Wenn projektname=NIL
dann gabs wohl kein Projekt.
Anbei noch ein Beispielpogramm, daß eine übergebene ASCII Datei in
ein Fenster ausgibt und nach zweimaligen <Return> dieses dann wieder
schließt.
Nachwort: Dank an Björn Schotte =8-þ
Für den Tip. Allerdings müßte, glaube ich
^ARRAY[1..MAXINT] OF WBarg; schon im Includefile stehen, wie
in den alten Includes. Sonst wußte ich schon alles ;-)
have Fun with it
Røgersøft
[mik 28.1.1994]